package com.yqg.protection.controller.dto;

import com.alibaba.excel.annotation.ExcelProperty;
import com.yqg.protection.cover.DeviceStateConverter;
import com.yqg.protection.cover.LocalDateTimeConverter;
import com.yqg.protection.cover.SystemConverter;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * ImportEquipmentInputStoreDto类
 *
 * @author zxf
 * @since 2024-01-01
 */
@Data
public class ImportEquipmentInputStoreDto {

    @ExcelProperty(value = "设备号(必填)", index = 0)
    private String equipmentId;

    @ExcelProperty(value = "设备名(必填)", index = 1)
    private String equipmentName;

    @ExcelProperty(value = "单位ID(必填)", index = 2)
    private Long clientId;

    @ExcelProperty(value = "组织ID(必填)", index = 3)
    private Long organization;

    @ExcelProperty(value = "服务起日期(必填)", index = 4, converter = LocalDateTimeConverter.class)
    private LocalDateTime startTime;

    @ExcelProperty(value = "服务止日期(必填)", index = 5, converter = LocalDateTimeConverter.class)
    private LocalDateTime endTime;

    @ExcelProperty(value = "入库时间", index = 6, converter = LocalDateTimeConverter.class)
    private LocalDateTime inputTime;

    @ExcelProperty(value = "服务费", index = 7)
    private String price;

    @ExcelProperty(value = "状态(正常,火警,故障)(必填)", index = 8, converter = DeviceStateConverter.class)
    private String state;

    @ExcelProperty(value = "更新时间", index = 9)
    private String updateTime;

    @ExcelProperty(value = "厂家", index = 10)
    private String manufactor;

    @ExcelProperty(value = "厂家电话", index = 11)
    private String manufactorPhone;

    @ExcelProperty(value = "设备类型ID(必填)", index = 12)
    private Integer type;

//    @ExcelProperty(value = "是否绑定SIM卡(未绑定/已绑定)", index = 13, converter = BindingConverter.class)
//    @ApiModelProperty("0未绑定SIM卡 ，1已绑定SIM卡")
//    private Integer deviceBindingSim;

    @ExcelProperty(value = "SIM卡号", index = 13)
    private String simId;

    @ExcelProperty(value = "销售价格", index = 14)
    private Double salePrice;

    @ExcelProperty(value = "地址", index = 15)
    private String address;

    @ExcelProperty(value = "跳转地址名称", index = 16)
    private String pageTurnName;

    @ExcelProperty(value = "跳转地址", index = 17)
    private String pageTurnUrl;

    @ExcelProperty(value = "协议类型", index = 18)
    private String protocolType;

    @ExcelProperty(value = "设备型号", index = 19)
    private String equipmentModel;

    @ExcelProperty(value = "心跳时长(小时)(必填)", index = 20)
    private Long heartbeatDuration;

    @ExcelProperty(value = "appkey", index = 21)
    private String appkey;

    @ExcelProperty(value = "secret", index = 22)
    private String secret;

    @ExcelProperty(value = "url", index = 23)
    private String url;

    @ExcelProperty(value = "监控地址", index = 24)
    private String addrMonitor;

    @ExcelProperty(value = "消控室对接主机", index = 25)
    @ApiModelProperty("消控室对接主机")
    private String dockHost;

    @ExcelProperty(value = "可对接场合", index = 26)
    @ApiModelProperty("可对接场合")
    private String dockPlace;

    @ExcelProperty(value = "对接方式", index = 27)
    @ApiModelProperty("对接方式")
    private String dockType;

    @ExcelProperty(value = "对接图片", index = 28)
    @ApiModelProperty("对接图片")
    private String dockPhoto;

    @ExcelProperty(value = "操作人ID", index = 29)
    private Long operatorId;

    @ExcelProperty(value = "设施类型(电器火灾监测系统/集中火灾报警控制器)(必填)", index = 30, converter = SystemConverter.class)
    private Integer systemId;
}
